{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "southern-december",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import math"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "harmful-province",
   "metadata": {},
   "outputs": [],
   "source": [
    "# dataset source: https://github.com/davestroud/BeerStudy/blob/master/Beers.csv\n",
    "beers = pd.read_csv(\"Beers.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "comparative-application",
   "metadata": {},
   "source": [
    "# IBU\n",
    "\n",
    "We are going to focus on international bitternes unit (ibu) score on two different samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "necessary-third",
   "metadata": {},
   "outputs": [],
   "source": [
    "beers = beers[~beers[\"IBU\"].isna()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "handled-shirt",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Name</th>\n",
       "      <th>Beer_ID</th>\n",
       "      <th>ABV</th>\n",
       "      <th>IBU</th>\n",
       "      <th>Brewery_id</th>\n",
       "      <th>Style</th>\n",
       "      <th>Ounces</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Bitter Bitch</td>\n",
       "      <td>1979</td>\n",
       "      <td>0.061</td>\n",
       "      <td>60.0</td>\n",
       "      <td>178</td>\n",
       "      <td>American Pale Ale (APA)</td>\n",
       "      <td>12.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Lower De Boom</td>\n",
       "      <td>1036</td>\n",
       "      <td>0.099</td>\n",
       "      <td>92.0</td>\n",
       "      <td>369</td>\n",
       "      <td>American Barleywine</td>\n",
       "      <td>8.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Fireside Chat</td>\n",
       "      <td>1024</td>\n",
       "      <td>0.079</td>\n",
       "      <td>45.0</td>\n",
       "      <td>369</td>\n",
       "      <td>Winter Warmer</td>\n",
       "      <td>12.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Bitter American</td>\n",
       "      <td>876</td>\n",
       "      <td>0.044</td>\n",
       "      <td>42.0</td>\n",
       "      <td>369</td>\n",
       "      <td>American Pale Ale (APA)</td>\n",
       "      <td>12.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Hell or High Watermelon Wheat (2009)</td>\n",
       "      <td>802</td>\n",
       "      <td>0.049</td>\n",
       "      <td>17.0</td>\n",
       "      <td>369</td>\n",
       "      <td>Fruit / Vegetable Beer</td>\n",
       "      <td>12.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                    Name  Beer_ID    ABV   IBU  Brewery_id  \\\n",
       "14                          Bitter Bitch     1979  0.061  60.0         178   \n",
       "21                         Lower De Boom     1036  0.099  92.0         369   \n",
       "22                         Fireside Chat     1024  0.079  45.0         369   \n",
       "24                       Bitter American      876  0.044  42.0         369   \n",
       "25  Hell or High Watermelon Wheat (2009)      802  0.049  17.0         369   \n",
       "\n",
       "                      Style  Ounces  \n",
       "14  American Pale Ale (APA)    12.0  \n",
       "21      American Barleywine     8.4  \n",
       "22            Winter Warmer    12.0  \n",
       "24  American Pale Ale (APA)    12.0  \n",
       "25   Fruit / Vegetable Beer    12.0  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "beers.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "extended-hotel",
   "metadata": {},
   "outputs": [],
   "source": [
    "#list(beers[\"Style\"].unique())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ethical-vanilla",
   "metadata": {},
   "source": [
    "# Collect two independent samples\n",
    "\n",
    "They should have normal distribution\n",
    "\n",
    "They should be same sized samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "local-money",
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_one_type = \"Czech Pilsener\"\n",
    "sample_two_type = \"American Pale Ale (APA)\"\n",
    "\n",
    "sample_size = 10"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ranking-things",
   "metadata": {},
   "source": [
    "I will drink 10 pilsener and ale beers randomly and compare their bitterness\n",
    "\n",
    "The question is that is there a difference on the bitterness between those two samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "elect-graduate",
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_one = beers[beers[\"Style\"] == sample_one_type][\"IBU\"].sample(sample_size, random_state = 17)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "surrounded-engine",
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_two = beers[beers[\"Style\"] == sample_two_type][\"IBU\"].sample(sample_size, random_state = 17)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "dental-transmission",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'IBU'}, ylabel='Density'>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sample_one.plot(kind='kde', title = 'IBU', label = sample_one_type, legend = True)\n",
    "sample_two.plot(kind='kde', title = 'IBU', label = sample_two_type, legend = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "interracial-affair",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "34.9"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_one.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "endangered-original",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "42.9"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_two.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "freelance-oliver",
   "metadata": {},
   "outputs": [],
   "source": [
    "t_value = abs(sample_one.mean() - sample_two.mean()) \n",
    "t_value = t_value / math.sqrt(((sample_two.std() ** 2) \n",
    "                               / sample_two.shape[0]) + ((sample_one.std() ** 2) / sample_one.shape[0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "julian-discharge",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.63005266343755"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_value"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "patient-microwave",
   "metadata": {},
   "source": [
    "# T-distribution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "northern-twist",
   "metadata": {},
   "outputs": [],
   "source": [
    "# dataset source: https://github.com/serengil/tensorflow-101/blob/master/dataset/t_distribution.csv\n",
    "t_dist = pd.read_csv(\"t_distribution.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "meaningful-siemens",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>degrees_of_freedom</th>\n",
       "      <th>p_0.20</th>\n",
       "      <th>p_0.10</th>\n",
       "      <th>p_0.05</th>\n",
       "      <th>p_0.02</th>\n",
       "      <th>p_0.01</th>\n",
       "      <th>p_0.005</th>\n",
       "      <th>p_0.002</th>\n",
       "      <th>p_0.001</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3.078</td>\n",
       "      <td>6.314</td>\n",
       "      <td>12.706</td>\n",
       "      <td>31.820</td>\n",
       "      <td>63.657</td>\n",
       "      <td>127.321</td>\n",
       "      <td>318.309</td>\n",
       "      <td>636.619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.0</td>\n",
       "      <td>1.886</td>\n",
       "      <td>2.920</td>\n",
       "      <td>4.303</td>\n",
       "      <td>6.965</td>\n",
       "      <td>9.925</td>\n",
       "      <td>14.089</td>\n",
       "      <td>22.327</td>\n",
       "      <td>31.599</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.0</td>\n",
       "      <td>1.638</td>\n",
       "      <td>2.353</td>\n",
       "      <td>3.182</td>\n",
       "      <td>4.541</td>\n",
       "      <td>5.841</td>\n",
       "      <td>7.453</td>\n",
       "      <td>10.215</td>\n",
       "      <td>12.924</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.0</td>\n",
       "      <td>1.533</td>\n",
       "      <td>2.132</td>\n",
       "      <td>2.776</td>\n",
       "      <td>3.747</td>\n",
       "      <td>4.604</td>\n",
       "      <td>5.598</td>\n",
       "      <td>7.173</td>\n",
       "      <td>8.610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>1.476</td>\n",
       "      <td>2.015</td>\n",
       "      <td>2.571</td>\n",
       "      <td>3.365</td>\n",
       "      <td>4.032</td>\n",
       "      <td>4.773</td>\n",
       "      <td>5.893</td>\n",
       "      <td>6.869</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   degrees_of_freedom  p_0.20  p_0.10  p_0.05  p_0.02  p_0.01  p_0.005  \\\n",
       "0                 1.0   3.078   6.314  12.706  31.820  63.657  127.321   \n",
       "1                 2.0   1.886   2.920   4.303   6.965   9.925   14.089   \n",
       "2                 3.0   1.638   2.353   3.182   4.541   5.841    7.453   \n",
       "3                 4.0   1.533   2.132   2.776   3.747   4.604    5.598   \n",
       "4                 5.0   1.476   2.015   2.571   3.365   4.032    4.773   \n",
       "\n",
       "   p_0.002  p_0.001  \n",
       "0  318.309  636.619  \n",
       "1   22.327   31.599  \n",
       "2   10.215   12.924  \n",
       "3    7.173    8.610  \n",
       "4    5.893    6.869  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_dist.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "grave-elizabeth",
   "metadata": {},
   "outputs": [],
   "source": [
    "degree_of_freedom = sample_one.shape[0] + sample_two.shape[0] - 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "continued-exception",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "18"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "degree_of_freedom"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "veterinary-caribbean",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>degrees_of_freedom</th>\n",
       "      <th>p_0.20</th>\n",
       "      <th>p_0.10</th>\n",
       "      <th>p_0.05</th>\n",
       "      <th>p_0.02</th>\n",
       "      <th>p_0.01</th>\n",
       "      <th>p_0.005</th>\n",
       "      <th>p_0.002</th>\n",
       "      <th>p_0.001</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>18.0</td>\n",
       "      <td>1.33</td>\n",
       "      <td>1.734</td>\n",
       "      <td>2.101</td>\n",
       "      <td>2.552</td>\n",
       "      <td>2.878</td>\n",
       "      <td>3.197</td>\n",
       "      <td>3.61</td>\n",
       "      <td>3.922</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    degrees_of_freedom  p_0.20  p_0.10  p_0.05  p_0.02  p_0.01  p_0.005  \\\n",
       "17                18.0    1.33   1.734   2.101   2.552   2.878    3.197   \n",
       "\n",
       "    p_0.002  p_0.001  \n",
       "17     3.61    3.922  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_dist[t_dist[\"degrees_of_freedom\"] == degree_of_freedom]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "clear-massage",
   "metadata": {},
   "source": [
    "# Threshold\n",
    "\n",
    "Get the threshold value for a confidence level. In science, we mostly use 0.05."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "alpine-player",
   "metadata": {},
   "outputs": [],
   "source": [
    "threshold = t_dist[t_dist[\"degrees_of_freedom\"] == degree_of_freedom][\"p_0.05\"].values[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "floppy-subscriber",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.101"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "threshold"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "copyrighted-allen",
   "metadata": {},
   "source": [
    "# Hypothesis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "cosmetic-freight",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "there is no statistically significant difference between the samples\n"
     ]
    }
   ],
   "source": [
    "if t_value < threshold:\n",
    "    print(\"there is no statistically significant difference between the samples\")\n",
    "else:\n",
    "    print(\"there is statistically significant difference between the samples\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "protected-aspect",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
